其他
向量化执行从理论到实现,仅需五步! | DB·洞见
点击观看讲师完整版分享
论文解读
1.1 论文简介
1.2 CPU是怎么样工作的?
1.3 TPC-H Query 1 Benchmark
1.4 X100: A Vectorized Query Processor
磁盘:ColumnBM I/O子系统面向高效的顺序数据访问来进行设计,同时采用列式存储,解决多余的数据存储代价,减少带宽压力。另外,基于列式存储还可以做一些轻量级压缩,进一步减少带宽压力。 内存:设计跟磁盘类似,也采取了列式存储的组织形式,目的也是为了减少内存占用和带宽压力。 Cache:把数据组织成vector形式,再把vector完全放入cache中,使得计算都在cache内进行,这样可以减少数据到内存的换入换出,从而提高计算效率,而不必考虑内存带宽问题。 CPU:操作或算子都使用向量化原语,目的是便于编译器优化成loop pipeline的高效代码。
1.5 TPC-H实验
1.6 论文总结
向量化执行引擎实现详解
2.1 如何实现向量化执行引擎
向量化执行框架:向量化执行计划的生成和执行以及与非向量化执行计划的兼容。 向量化数据结构:合理设计向量的内存组织形式,尽可能使用cache资源,减少内存拷贝。 向量化算子实现:批量计算改造,拆分成小的循环来执行简单的操作,便于编译优化成高效程序。 向量化函数实现:与算子实现类似,还需要对表达式计算框架进行调整,简单的计算函数可以通过SIMD显式向量化。
2.2 向量化执行框架
2.3 向量化执行数据结构
2.4 向量化算子实现
2.5 向量化函数实现
总结和展望
﹀
﹀
﹀
节省30%磁盘空间的同时如何保障数据安全?|DB·洞见
一些有趣的B+树优化实验